home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / jumpball.lha / Jumping_Balls2.s < prev   
Encoding:
Text File  |  1980-01-01  |  4.8 KB  |  308 lines

  1. ;BALL NACH $50280
  2. ;GCC INC. 88
  3. STARTUP:
  4. MOVEM.L     D0-D7/A0-A6,-(A7)    
  5. LEA     $60000,A0
  6. MOVE.W     #$3000,D1
  7. CLEAR:     MOVE.W #$0000,(A0)+
  8.      DBRA D1,CLEAR
  9. LEA    $50000,A0
  10. MOVE.W    #$280/2,D0
  11. GCCCLX:
  12. MOVE.W    #$00,(A0)+
  13. DBF    D0,GCCCLX
  14. MOVE.L     $4,A6        
  15. LEA     GFXNAME,A1             
  16. JSR     -408(A6)        
  17. MOVE.L     D0,GFXBASE        
  18. MOVE.L     $4,A6        
  19. MOVE.L     GFXBASE,A0        
  20. ADD.L     #$32,A0            
  21. MOVE.L     (A0),OLDCOPPER        
  22. MOVE.L     #LISTE,(A0)
  23. MOVE.W     #$0020,$DFF096 
  24. MOVE.L     #$8010,$DFF09A
  25. MOVE.L     $4,A6
  26. LEA     GFXNAME,A1
  27. JSR     -408(A6)
  28. MOVE.L     D0,GFXBASE
  29. MOVE.L     $4,A6
  30. JSR     -132(A6)
  31. MOVE.W     #$0020,$DFF09A
  32. MOVE.L     $6C,OLDIRQ
  33. MOVE.L   $68,OLDTASTIRQ
  34. MOVE.L   #NEWTASTIRQ,$68
  35. MOVE.L     #IRQNEW,$6C
  36. MOVE.W     #$8020,$DFF09A
  37. BRA     MOUSE
  38.  
  39. IRQNEW:
  40. MOVEM.L        D0-D7/A0-A6,-(SP)
  41. BSR.L        BLITOBJECT
  42. JSR        SCROLL
  43. JSR        RASTER
  44. MOVEM.L        (SP)+,D0-D7/A0-A6
  45. DC.W        $4EF9
  46. OLDIRQ:
  47. DC.L    0
  48.  
  49. NEWTASTIRQ:
  50. MOVEM.L        D0-D7/A0-A6,-(SP)
  51. MOVEM.L        (SP)+,D0-D7/A0-A6
  52. DC.W        $4EF9
  53. OLDTASTIRQ:
  54. DC.L    0
  55. MOD: DC.L 0
  56. MOUSE:
  57. CMP.B     #$7F,$BFEC01
  58. BNE.S     MOUSE
  59. MOVE.L     $4,A6
  60. MOVE.L     GFXBASE,A1
  61. JSR     -414(A6)
  62. MOVE.L     GFXBASE,A0    
  63. ADD.L    #$32,A0        
  64. MOVE.W     #$0080,$DFF096    
  65. MOVE.L     OLDCOPPER,(A0)    
  66. MOVE.W     #$8080,$DFF096    
  67. MOVE.L     OLDIRQ,$6C
  68. MOVE.L   OLDTASTIRQ,$68
  69. MOVEM.L     (A7)+,D0-D7/A0-A6
  70. RTS
  71. LISTE:
  72. DC.W $0180,$0000
  73. DC.W $2B01,$FFFE,$0102,
  74. REG: DC.W $00FF
  75. DC.W $008E,$2C80,$0090,$24C1,    
  76. DC.W $0092,$0030,$0094,$00D8     
  77. DC.W $0100,$2200,$0186,$0F00
  78. DC.W $00E0,$0006,$00E2,
  79. P1:  DC.W $0000
  80. DC.W $00E4,$0006,$00E6,
  81. P2:  DC.W $0028
  82. DC.W $0182,$0FFF,$0184,$0FFF
  83. DC.W $0108,$0024,$010A,$0024
  84. COPPI: BLK.W 20*4
  85. DC.W $FFFF,$FFFE 
  86. OLDCOPPER: DC.L 0
  87. GFXNAME: DC.B "graphics.library",0
  88. EVEN
  89. GFXBASE: DC.L 0
  90. POSX:   DC.L 0
  91. ADDIT:  DC.L 0
  92. CHANGEPOS:
  93.     MOVE.L    ZEIGER,$DFF050
  94.     MOVE.L    D1,$DFF054 
  95.     MOVE.L    #$FFFFFFFF,$DFF044     
  96.     MOVE.L    #$09F00000,$DFF040
  97.     MOVE.L    #$00200020,$DFF064
  98.                             ;123456
  99.     MOVE.W    #%0001111100000100,$DFF058
  100. BLT4:    BTST    #$06,$DFF002
  101.     BNE.S    BLT4
  102.     RTS
  103.     CMP.W    #$FFFF,MODE
  104.     BEQ     DOWN
  105.     ADD.L    #[16*80],ZEIGER
  106.     ADD.B    #1,COUNT
  107.     CMP.B    #10,COUNT
  108.     BNE.S    EXIT199
  109.     MOVE.W    #$FFFF,MODE
  110.     MOVE.B    #0,COUNT
  111.     RTS
  112. DOWN:    
  113.     SUB.L    #[16*80],ZEIGER
  114.     MOVE.L  #$50000,D1
  115.     CMP.L    ZEIGER,D1
  116.     BNE.S    EXIT199
  117.     MOVE.W    #$0000,MODE
  118. EXIT199:RTS
  119. ZEIGER:    DC.L    $50000
  120. MODE:    DC.W    0
  121. COUNT:    DC.B    0
  122. EVEN
  123. DELAY:    DC.W    0
  124. POS:    DC.L    0
  125. POSX2:    DC.L     0
  126. OVERPOS: DC.L $60004-[2*80]
  127. BLITOBJECT:
  128.     MOVE.L    OVERPOS,A0
  129.     CLR.L    D0
  130.     CLR.L    D1
  131.     CLR.L    D2
  132.     MOVE.L  A0,D1
  133.     LEA    SINTAB,A1
  134.     ADD.L    POS,A1
  135.     MOVE.B    (A1),D0
  136.     MOVE.B    #80,D2
  137.     MULU    D0,D2
  138.     MOVE.L  #[80*100],D4
  139.     SUB.L    D2,D4
  140.     ADD.L    D4,D1
  141. NOCONT:    BSR.L    CONT2
  142.     BSR.L    CHANGEPOS
  143.  
  144.     MOVE.L    OVERPOS,A0
  145.     CLR.L    D0
  146.     CLR.L    D1
  147.     CLR.L    D2
  148.     MOVE.L  A0,D1
  149.     LEA    SINTAB,A1
  150.     ADD.L    DPOS,A1
  151.     MOVE.B    (A1),D0
  152.     MOVE.B    #80,D2
  153.     MULU    D0,D2
  154.     MOVE.L  #[80*100],D4
  155.     SUB.L    D2,D4
  156.     ADD.L    D4,D1
  157.     ADD.L    #8,D1
  158.     BSR.L    CHANGEPOS
  159.     BSR.L    CONT3
  160.  
  161.     MOVE.L    OVERPOS,A0
  162.     CLR.L    D0
  163.     CLR.L    D1
  164.     CLR.L    D2
  165.     MOVE.L  A0,D1
  166.     LEA    SINTAB,A1
  167.     ADD.L    DPO,A1
  168.     MOVE.B    (A1),D0
  169.     MOVE.B    #80,D2
  170.     MULU    D0,D2
  171.     MOVE.L  #[80*100],D4
  172.     SUB.L    D2,D4
  173.     ADD.L    D4,D1
  174.     ADD.L    #16,D1
  175.     BSR.L    CHANGEPOS
  176.     BSR.L    CONT4
  177.     MOVE.L    OVERPOS,A0
  178.     CLR.L    D0
  179.     CLR.L    D1
  180.     CLR.L    D2
  181.     MOVE.L  A0,D1
  182.     LEA    SINTAB,A1
  183.     ADD.L    POS4,A1
  184.     MOVE.B    (A1),D0
  185.     MOVE.B    #80,D2
  186.     MULU    D0,D2
  187.     MOVE.L  #[80*100],D4
  188.     SUB.L    D2,D4
  189.     ADD.L    D4,D1
  190.     ADD.L    #24,D1
  191.     BSR.L    CHANGEPOS
  192.     BSR.L    CONT5
  193.     RTS
  194.  
  195. CONT2:    CMP.W    #0,UPN
  196.     BEQ.S    PP1
  197.     CMP.W    #1,UPN
  198.     BEQ.S    PP2
  199. PP1:    ADD.L    #2,POS
  200.     CMP.L    #60,POS
  201.     BEQ    PP1C
  202.     RTS
  203. PP1C:    MOVE.W    #1,UPN
  204.     RTS
  205. PP2:    SUB.L    #2,POS
  206.     CMP.L    #2,POS
  207.     BEQ    PP2C
  208.     RTS
  209. PP2C:    MOVE.W  #0,UPN
  210.     RTS
  211. UPN:    DC.W 0
  212.  
  213. CONT3:    CMP.W    #0,DUPN
  214.     BEQ.S    DPP1
  215.     CMP.W    #1,DUPN
  216.     BEQ.S    DPP2
  217. DPP1:    ADD.L    #2,DPOS
  218.     CMP.L    #60,DPOS
  219.     BEQ    DPP1C
  220.     RTS
  221. DPP1C:    MOVE.W    #1,DUPN
  222.     RTS
  223. DPP2:    SUB.L    #2,DPOS
  224.     CMP.L    #2,DPOS
  225.     BEQ    DPP2C
  226.     RTS
  227. DPP2C:    MOVE.W  #0,DUPN
  228.     RTS
  229. DUPN:    DC.W 1
  230. DPOS:   DC.L 20
  231.  
  232. CONT4:    CMP.W    #0,DUP
  233.     BEQ.S    DPP
  234.     CMP.W    #1,DUP
  235.     BEQ.S    DPP22
  236. DPP:    ADD.L    #2,DPO
  237.     CMP.L    #60,DPO
  238.     BEQ    DPP4
  239.     RTS
  240. DPP4:    MOVE.W    #1,DUP
  241.     RTS
  242. DPP22:    SUB.L    #2,DPO
  243.     CMP.L    #2,DPO
  244.     BEQ    DPP22C
  245.     RTS
  246. DPP22C:    MOVE.W  #0,DUP
  247.     RTS
  248. DUP:    DC.W 1
  249. DPO:    DC.L 40
  250.  
  251. CONT5:    CMP.W    #0,DUP5
  252.     BEQ.S    DPP5
  253.     CMP.W    #1,DUP5
  254.     BEQ.S    DPP225
  255. DPP5:    ADD.L    #2,POS4
  256.     CMP.L    #60,POS4
  257.     BEQ    DPP45
  258.     RTS
  259. DPP45:    MOVE.W    #1,DUP5
  260.     RTS
  261. DPP225:    SUB.L    #2,POS4
  262.     CMP.L    #2,POS4
  263.     BEQ    DPP22C5
  264.     RTS
  265. DPP22C5:MOVE.W  #0,DUP5
  266.     RTS
  267. DUP5:    DC.W 1
  268. POS4:    DC.L 60
  269. COUNT22: DC.W 0
  270. SCROLL:    SUB.W    #$0033,REG
  271.     CMP.W    #$0000,REG
  272.     BEQ.S    OVERS
  273.     RTS
  274. OVERS:  ADD.W    #1,COUNT22
  275.     CMP.W    #20,COUNT22
  276.     BNE    OVER22
  277.     MOVE.W  #0,COUNT22
  278.     MOVE.W    #0,P1
  279.     MOVE.W    #$28,P2
  280. OVER22:    ADD.W    #2,P1
  281.     ADD.W    #2,P2
  282.     MOVE.W  #$00FF,REG
  283.     RTS
  284. RASTER: LEA    COPPI,A0
  285.     LEA    COLORS,A1
  286.     MOVE.W  #14,D0
  287.     MOVE.W  #$7C01,D1
  288. GCC1:    MOVE.W  D1,(A0)+
  289.     MOVE.W    #$FFFE,(A0)+
  290.     MOVE.W  #$0180,(A0)+
  291.     MOVE.W  (A1)+,(A0)+
  292.     ADD.W   D3,D1
  293.     ADD.W    #$0100,D3
  294.     DBRA    D0,GCC1
  295.     RTS
  296.  
  297. SINTAB: 
  298. DC.B $68,$68,$68,$68,$68,$68,$67,$67,$66,$66
  299. DC.B $65,$64,$64,$63,$62,$61,$60,$5F,$5E,$5D
  300. DC.B $5B,$5A,$59,$57,$56,$54,$53,$51,$4F,$4E
  301. DC.B $4C,$4A,$48,$46,$45,$43,$41,$3E,$3C,$3A
  302. DC.B $38,$36,$34,$31,$2F,$2D,$2A,$28
  303. DC.B $26,$23,$21,$1E,$1C,$19,$14,$12,$0F,$0C
  304. DC.B $0A,$07,$05,$02,$00,
  305. EVEN
  306. COLORS: DC.W 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
  307.  
  308.